package com.css.fxfzfxqh.modules.reportmanagement.service;

import com.css.fxfzfxqh.base.response.RestResponse;
import com.css.fxfzfxqh.modules.reportmanagement.legend.MapTemplate;
import com.css.fxfzfxqh.modules.reportmanagement.vo.LegendVo;
import com.css.fxfzfxqh.modules.reportmanagement.vo.RequestVO;

import java.util.List;
import java.util.Map;

public interface GraphService {
    //生产图例
//    RestResponse generateGraph(RequestVO requestVO,String taskId);

    /**
     * 查询坐标
     * @return  返回值格式 BOX(121.66666666673336 38.92499999965031,121.6749999997503 38.933333332667246)
     */

    String getExtent(Map<String,Object> paramMap);

    /**
     * 查询几何中中心点的坐标
     * @param paramMap
     * @return   POINT(121.67083333324183 38.92916666615878)
     */
    String getCenter(Map<String,Object> paramMap);


//    /**
//     * 测试用
//     * @param taskId
//     */
//    public void buildGraphParam(String taskId);

    /**
     * 根据dictCode 查询对象
     * @param dictCode
     * @return
     */
    public MapTemplate getMapTemplateData(String dictCode,String flag);

    /**
     * czghjggw	城镇钢混结构房屋格网
     * czgjggw	城镇钢结构房屋格网
     * czmjggw	城镇木结构房屋格网
     * czqtjglxgw	城镇其他结构房屋格网
     * ncqtjggw	农村砌体结构房屋格网
     * nctmsmjggw	农村土木石木结构房屋格网
     * ncdbkjkzqqtjggw	农村底部框架结构房屋格网
     * ncmzjggw	农村木竹结构房屋格网
     * nchzjggw	农村混杂结构房屋格网
     * ncghjggw	农村钢混结构房屋格网
     * ncgjggw	农村钢结构房屋格网
     * @param taskId
     * @return List<Map<String,String>>
     */
//     public List<Map<String,String>> buildGridCategoryGraphParamData(String taskId);

    //构造人口图片数据
//    public Map<String,String>  buildPopulationDataGraphParamData(String taskId);

    //构造人口图片数据
//    public Map<String,String>  buildGDPDataGraphParamData(String taskId);

    //构造行政区划图
//    public Map<String,String>  buildAdministrativeMapGraphParamData(String taskId);
    public Map<String,String> getCommonDataMapParamData(String taskId, String dictCode, LegendVo legendVo,String flag,String type) throws Exception;

    public List<Map<String,Object>> getGridDataStructureTypeList(String taskId);

    public Map<String,Object>  buildCategoryGraphParamData(String taskId,String type) throws Exception;

    public List<Map<String,String>> getCommonDataMapParamDataPlus(String taskId, String dictCode, String[] years,String type) throws Exception;

    public int  deleteAllMapTemplate(String taskId,String flag);

    public Map<String,Object>  buildCategoryGraphParamDataPlus(String taskId,String flag,String[] years) throws Exception;

    public Map<String,Object> getSmxTaskObjById(String taskId);
}
